<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>approx_chain_simple [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_legacy.html">过时</a> / <a href="toc_legacy_tools.html">工具</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">approx_chain_simple</span><span data-if="c" style="display:none;">T_approx_chain_simple</span><span data-if="cpp" style="display:none;">ApproxChainSimple</span><span data-if="dotnet" style="display:none;">ApproxChainSimple</span><span data-if="python" style="display:none;">approx_chain_simple</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">approx_chain_simple</span><span data-if="c" style="display:none;">T_approx_chain_simple</span><span data-if="cpp" style="display:none;">ApproxChainSimple</span><span data-if="dotnet" style="display:none;">ApproxChainSimple</span><span data-if="python" style="display:none;">approx_chain_simple</span></code> — Approximate a contour by arcs and lines.</p>
<h2>警告</h2>
<p><b><code><span data-if="hdevelop" style="display:inline">approx_chain_simple</span><span data-if="c" style="display:none">approx_chain_simple</span><span data-if="cpp" style="display:none">ApproxChainSimple</span><span data-if="com" style="display:none">ApproxChainSimple</span><span data-if="dotnet" style="display:none">ApproxChainSimple</span><span data-if="python" style="display:none">approx_chain_simple</span></code> is obsolete and is only provided for
reasons of backward compatibility.</b></p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>approx_chain_simple</b>( :  : <a href="#Row"><i>Row</i></a>, <a href="#Column"><i>Column</i></a> : <a href="#ArcCenterRow"><i>ArcCenterRow</i></a>, <a href="#ArcCenterCol"><i>ArcCenterCol</i></a>, <a href="#ArcAngle"><i>ArcAngle</i></a>, <a href="#ArcBeginRow"><i>ArcBeginRow</i></a>, <a href="#ArcBeginCol"><i>ArcBeginCol</i></a>, <a href="#LineBeginRow"><i>LineBeginRow</i></a>, <a href="#LineBeginCol"><i>LineBeginCol</i></a>, <a href="#LineEndRow"><i>LineEndRow</i></a>, <a href="#LineEndCol"><i>LineEndCol</i></a>, <a href="#Order"><i>Order</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_approx_chain_simple</b>(const Htuple <a href="#Row"><i>Row</i></a>, const Htuple <a href="#Column"><i>Column</i></a>, Htuple* <a href="#ArcCenterRow"><i>ArcCenterRow</i></a>, Htuple* <a href="#ArcCenterCol"><i>ArcCenterCol</i></a>, Htuple* <a href="#ArcAngle"><i>ArcAngle</i></a>, Htuple* <a href="#ArcBeginRow"><i>ArcBeginRow</i></a>, Htuple* <a href="#ArcBeginCol"><i>ArcBeginCol</i></a>, Htuple* <a href="#LineBeginRow"><i>LineBeginRow</i></a>, Htuple* <a href="#LineBeginCol"><i>LineBeginCol</i></a>, Htuple* <a href="#LineEndRow"><i>LineEndRow</i></a>, Htuple* <a href="#LineEndCol"><i>LineEndCol</i></a>, Htuple* <a href="#Order"><i>Order</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>ApproxChainSimple</b>(const HTuple&amp; <a href="#Row"><i>Row</i></a>, const HTuple&amp; <a href="#Column"><i>Column</i></a>, HTuple* <a href="#ArcCenterRow"><i>ArcCenterRow</i></a>, HTuple* <a href="#ArcCenterCol"><i>ArcCenterCol</i></a>, HTuple* <a href="#ArcAngle"><i>ArcAngle</i></a>, HTuple* <a href="#ArcBeginRow"><i>ArcBeginRow</i></a>, HTuple* <a href="#ArcBeginCol"><i>ArcBeginCol</i></a>, HTuple* <a href="#LineBeginRow"><i>LineBeginRow</i></a>, HTuple* <a href="#LineBeginCol"><i>LineBeginCol</i></a>, HTuple* <a href="#LineEndRow"><i>LineEndRow</i></a>, HTuple* <a href="#LineEndCol"><i>LineEndCol</i></a>, HTuple* <a href="#Order"><i>Order</i></a>)</code></p>
<p>
<code>static void <a href="HMisc.html">HMisc</a>::<b>ApproxChainSimple</b>(const HTuple&amp; <a href="#Row"><i>Row</i></a>, const HTuple&amp; <a href="#Column"><i>Column</i></a>, HTuple* <a href="#ArcCenterRow"><i>ArcCenterRow</i></a>, HTuple* <a href="#ArcCenterCol"><i>ArcCenterCol</i></a>, HTuple* <a href="#ArcAngle"><i>ArcAngle</i></a>, HTuple* <a href="#ArcBeginRow"><i>ArcBeginRow</i></a>, HTuple* <a href="#ArcBeginCol"><i>ArcBeginCol</i></a>, HTuple* <a href="#LineBeginRow"><i>LineBeginRow</i></a>, HTuple* <a href="#LineBeginCol"><i>LineBeginCol</i></a>, HTuple* <a href="#LineEndRow"><i>LineEndRow</i></a>, HTuple* <a href="#LineEndCol"><i>LineEndCol</i></a>, HTuple* <a href="#Order"><i>Order</i></a>)</code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>ApproxChainSimple</b>(<a href="HTuple.html">HTuple</a> <a href="#Row"><i>row</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Column"><i>column</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ArcCenterRow"><i>arcCenterRow</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ArcCenterCol"><i>arcCenterCol</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ArcAngle"><i>arcAngle</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ArcBeginRow"><i>arcBeginRow</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ArcBeginCol"><i>arcBeginCol</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#LineBeginRow"><i>lineBeginRow</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#LineBeginCol"><i>lineBeginCol</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#LineEndRow"><i>lineEndRow</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#LineEndCol"><i>lineEndCol</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Order"><i>order</i></a>)</code></p>
<p>
<code>static void <a href="HMisc.html">HMisc</a>.<b>ApproxChainSimple</b>(<a href="HTuple.html">HTuple</a> <a href="#Row"><i>row</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Column"><i>column</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ArcCenterRow"><i>arcCenterRow</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ArcCenterCol"><i>arcCenterCol</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ArcAngle"><i>arcAngle</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ArcBeginRow"><i>arcBeginRow</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ArcBeginCol"><i>arcBeginCol</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#LineBeginRow"><i>lineBeginRow</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#LineBeginCol"><i>lineBeginCol</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#LineEndRow"><i>lineEndRow</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#LineEndCol"><i>lineEndCol</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Order"><i>order</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>approx_chain_simple</b>(<a href="#Row"><i>row</i></a>: Sequence[int], <a href="#Column"><i>column</i></a>: Sequence[int]) -&gt; Tuple[Sequence[int], Sequence[int], Sequence[float], Sequence[int], Sequence[int], Sequence[int], Sequence[int], Sequence[int], Sequence[int], Sequence[int]]</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p>The contour of a curve is approximated by a sequence of
lines and arcs.
</p>
<p>The result of the procedure is returned separately as arcs and
lines.  If one is interested in the sequence of the segments the
individual resulting elements can be read successively from the
resulting tuples. The sequence can be taken from the return
parameter order (0: next element is next line segment, 1: next
element is next arc segment).
</p>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">approx_chain_simple</span><span data-if="c" style="display:none">approx_chain_simple</span><span data-if="cpp" style="display:none">ApproxChainSimple</span><span data-if="com" style="display:none">ApproxChainSimple</span><span data-if="dotnet" style="display:none">ApproxChainSimple</span><span data-if="python" style="display:none">approx_chain_simple</span></code> behaves similarly as
<a href="approx_chain.html"><code><span data-if="hdevelop" style="display:inline">approx_chain</span><span data-if="c" style="display:none">approx_chain</span><span data-if="cpp" style="display:none">ApproxChain</span><span data-if="com" style="display:none">ApproxChain</span><span data-if="dotnet" style="display:none">ApproxChain</span><span data-if="python" style="display:none">approx_chain</span></code></a> except that in the case of
<code><span data-if="hdevelop" style="display:inline">approx_chain_simple</span><span data-if="c" style="display:none">approx_chain_simple</span><span data-if="cpp" style="display:none">ApproxChainSimple</span><span data-if="com" style="display:none">ApproxChainSimple</span><span data-if="dotnet" style="display:none">ApproxChainSimple</span><span data-if="python" style="display:none">approx_chain_simple</span></code> the missing parameters are internally
allocated as follows: MinWidthCoord = 1.0, MaxWidthCoord = 3.0,
ThreshStart = 0.5, ThreshEnd = 0.9, ThreshStep = 0.3, MinWidthSmooth
= 1.0, MaxWidthSmooth = 3.0, MinWidthCurve = 2, MaxWidthCurve = 9,
Weight1 = 1.0, Weight2 = 1.0, Weight3 = 1.0.</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  <li>未经并行化处理。</li>
</ul>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="Row" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Row</span><span data-if="c" style="display:none">Row</span><span data-if="cpp" style="display:none">Row</span><span data-if="com" style="display:none">Row</span><span data-if="dotnet" style="display:none">row</span><span data-if="python" style="display:none">row</span></code></b> (input_control)  </span><span>point.y-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[int]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Row of the contour.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>32</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Column" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Column</span><span data-if="c" style="display:none">Column</span><span data-if="cpp" style="display:none">Column</span><span data-if="com" style="display:none">Column</span><span data-if="dotnet" style="display:none">column</span><span data-if="python" style="display:none">column</span></code></b> (input_control)  </span><span>point.x-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[int]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Column of the contour.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>32</p>
</div>
  <div class="par">
<div class="parhead">
<span id="ArcCenterRow" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ArcCenterRow</span><span data-if="c" style="display:none">ArcCenterRow</span><span data-if="cpp" style="display:none">ArcCenterRow</span><span data-if="com" style="display:none">ArcCenterRow</span><span data-if="dotnet" style="display:none">arcCenterRow</span><span data-if="python" style="display:none">arc_center_row</span></code></b> (output_control)  </span><span>arc.center.y-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[int]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Row of the center of an arc.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="ArcCenterCol" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ArcCenterCol</span><span data-if="c" style="display:none">ArcCenterCol</span><span data-if="cpp" style="display:none">ArcCenterCol</span><span data-if="com" style="display:none">ArcCenterCol</span><span data-if="dotnet" style="display:none">arcCenterCol</span><span data-if="python" style="display:none">arc_center_col</span></code></b> (output_control)  </span><span>arc.center.x-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[int]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Column of the center of an arc.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="ArcAngle" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ArcAngle</span><span data-if="c" style="display:none">ArcAngle</span><span data-if="cpp" style="display:none">ArcAngle</span><span data-if="com" style="display:none">ArcAngle</span><span data-if="dotnet" style="display:none">arcAngle</span><span data-if="python" style="display:none">arc_angle</span></code></b> (output_control)  </span><span>arc.angle.rad-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Angle of an arc.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="ArcBeginRow" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ArcBeginRow</span><span data-if="c" style="display:none">ArcBeginRow</span><span data-if="cpp" style="display:none">ArcBeginRow</span><span data-if="com" style="display:none">ArcBeginRow</span><span data-if="dotnet" style="display:none">arcBeginRow</span><span data-if="python" style="display:none">arc_begin_row</span></code></b> (output_control)  </span><span>arc.begin.y-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[int]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Row of the starting point of an arc.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="ArcBeginCol" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ArcBeginCol</span><span data-if="c" style="display:none">ArcBeginCol</span><span data-if="cpp" style="display:none">ArcBeginCol</span><span data-if="com" style="display:none">ArcBeginCol</span><span data-if="dotnet" style="display:none">arcBeginCol</span><span data-if="python" style="display:none">arc_begin_col</span></code></b> (output_control)  </span><span>arc.begin.x-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[int]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Column of the starting point of an arc.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="LineBeginRow" class="parname"><b><code><span data-if="hdevelop" style="display:inline">LineBeginRow</span><span data-if="c" style="display:none">LineBeginRow</span><span data-if="cpp" style="display:none">LineBeginRow</span><span data-if="com" style="display:none">LineBeginRow</span><span data-if="dotnet" style="display:none">lineBeginRow</span><span data-if="python" style="display:none">line_begin_row</span></code></b> (output_control)  </span><span>line.begin.y-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[int]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Row of the starting point of a line segment.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="LineBeginCol" class="parname"><b><code><span data-if="hdevelop" style="display:inline">LineBeginCol</span><span data-if="c" style="display:none">LineBeginCol</span><span data-if="cpp" style="display:none">LineBeginCol</span><span data-if="com" style="display:none">LineBeginCol</span><span data-if="dotnet" style="display:none">lineBeginCol</span><span data-if="python" style="display:none">line_begin_col</span></code></b> (output_control)  </span><span>line.begin.x-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[int]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Column of the starting point of a line segment.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="LineEndRow" class="parname"><b><code><span data-if="hdevelop" style="display:inline">LineEndRow</span><span data-if="c" style="display:none">LineEndRow</span><span data-if="cpp" style="display:none">LineEndRow</span><span data-if="com" style="display:none">LineEndRow</span><span data-if="dotnet" style="display:none">lineEndRow</span><span data-if="python" style="display:none">line_end_row</span></code></b> (output_control)  </span><span>line.end.y-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[int]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Row of the ending point of a line segment.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="LineEndCol" class="parname"><b><code><span data-if="hdevelop" style="display:inline">LineEndCol</span><span data-if="c" style="display:none">LineEndCol</span><span data-if="cpp" style="display:none">LineEndCol</span><span data-if="com" style="display:none">LineEndCol</span><span data-if="dotnet" style="display:none">lineEndCol</span><span data-if="python" style="display:none">line_end_col</span></code></b> (output_control)  </span><span>line.end.x-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[int]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Column of the ending point of a line segment.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Order" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Order</span><span data-if="c" style="display:none">Order</span><span data-if="cpp" style="display:none">Order</span><span data-if="com" style="display:none">Order</span><span data-if="dotnet" style="display:none">order</span><span data-if="python" style="display:none">order</span></code></b> (output_control)  </span><span>integer-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[int]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Sequence of line (value 0) and arc segments (value 1).</p>
</div>
<h2 id="sec_example_all">例程 (C)</h2>
<pre class="example">
/* read edge image */
read_image(&amp;Image,"fig1_kan");
/* construct edge region */
hysteresis_threshold(Image,&amp;RK1,64,255,40,1);
connection(RK1,&amp;Rand);
/* fetch chain code */
T_get_region_contour(Rand,&amp;Rows,&amp;Columns);
firstline = get_i(Tline,0);
firstcol = get_i(Tcol,0);
/* approximation with lines and circular arcs */
T_approx_chain_simple(Rows,Columns,
                &amp;Bzl,&amp;Bzc,&amp;Br,&amp;Bwl,&amp;Bwc,&amp;Ll0,&amp;Lc0,&amp;Ll1,&amp;Lc1,&amp;order);
nob = length_tuple(Bzl);
nol = length_tuple(Ll0);
/* draw lines and arcs */
set_i(WindowHandleTuple,WindowHandle,0);
set_line_width(WindowHandle,4);
if (nob&gt;0) T_disp_arc(Bzl,Bzc,Br,Bwl,Bwc);
set_line_width(WindowHandle,1);
if (nol&gt;0) T_disp_line(WindowHandleTuple,Ll0,Lc0,Ll1,Lc1);
</pre>
<h2 id="sec_result">结果</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">approx_chain_simple</span><span data-if="c" style="display:none">approx_chain_simple</span><span data-if="cpp" style="display:none">ApproxChainSimple</span><span data-if="com" style="display:none">ApproxChainSimple</span><span data-if="dotnet" style="display:none">ApproxChainSimple</span><span data-if="python" style="display:none">approx_chain_simple</span></code> 返回值 <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
     if the
parameters are correct.  Otherwise an exception is raised.</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="sobel_amp.html"><span data-if="hdevelop" style="display:inline">sobel_amp</span><span data-if="c" style="display:none">sobel_amp</span><span data-if="cpp" style="display:none">SobelAmp</span><span data-if="com" style="display:none">SobelAmp</span><span data-if="dotnet" style="display:none">SobelAmp</span><span data-if="python" style="display:none">sobel_amp</span></a></code>, 
<code><a href="edges_image.html"><span data-if="hdevelop" style="display:inline">edges_image</span><span data-if="c" style="display:none">edges_image</span><span data-if="cpp" style="display:none">EdgesImage</span><span data-if="com" style="display:none">EdgesImage</span><span data-if="dotnet" style="display:none">EdgesImage</span><span data-if="python" style="display:none">edges_image</span></a></code>, 
<code><a href="get_region_contour.html"><span data-if="hdevelop" style="display:inline">get_region_contour</span><span data-if="c" style="display:none">get_region_contour</span><span data-if="cpp" style="display:none">GetRegionContour</span><span data-if="com" style="display:none">GetRegionContour</span><span data-if="dotnet" style="display:none">GetRegionContour</span><span data-if="python" style="display:none">get_region_contour</span></a></code>, 
<code><a href="threshold.html"><span data-if="hdevelop" style="display:inline">threshold</span><span data-if="c" style="display:none">threshold</span><span data-if="cpp" style="display:none">Threshold</span><span data-if="com" style="display:none">Threshold</span><span data-if="dotnet" style="display:none">Threshold</span><span data-if="python" style="display:none">threshold</span></a></code>, 
<code><a href="hysteresis_threshold.html"><span data-if="hdevelop" style="display:inline">hysteresis_threshold</span><span data-if="c" style="display:none">hysteresis_threshold</span><span data-if="cpp" style="display:none">HysteresisThreshold</span><span data-if="com" style="display:none">HysteresisThreshold</span><span data-if="dotnet" style="display:none">HysteresisThreshold</span><span data-if="python" style="display:none">hysteresis_threshold</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="set_line_width.html"><span data-if="hdevelop" style="display:inline">set_line_width</span><span data-if="c" style="display:none">set_line_width</span><span data-if="cpp" style="display:none">SetLineWidth</span><span data-if="com" style="display:none">SetLineWidth</span><span data-if="dotnet" style="display:none">SetLineWidth</span><span data-if="python" style="display:none">set_line_width</span></a></code>, 
<code><a href="disp_arc.html"><span data-if="hdevelop" style="display:inline">disp_arc</span><span data-if="c" style="display:none">disp_arc</span><span data-if="cpp" style="display:none">DispArc</span><span data-if="com" style="display:none">DispArc</span><span data-if="dotnet" style="display:none">DispArc</span><span data-if="python" style="display:none">disp_arc</span></a></code>, 
<code><a href="disp_line.html"><span data-if="hdevelop" style="display:inline">disp_line</span><span data-if="c" style="display:none">disp_line</span><span data-if="cpp" style="display:none">DispLine</span><span data-if="com" style="display:none">DispLine</span><span data-if="dotnet" style="display:none">DispLine</span><span data-if="python" style="display:none">disp_line</span></a></code>
</p>
<h2 id="sec_alternatives">可替代算子</h2>
<p>
<code><a href="get_region_polygon.html"><span data-if="hdevelop" style="display:inline">get_region_polygon</span><span data-if="c" style="display:none">get_region_polygon</span><span data-if="cpp" style="display:none">GetRegionPolygon</span><span data-if="com" style="display:none">GetRegionPolygon</span><span data-if="dotnet" style="display:none">GetRegionPolygon</span><span data-if="python" style="display:none">get_region_polygon</span></a></code>, 
<code><a href="approx_chain.html"><span data-if="hdevelop" style="display:inline">approx_chain</span><span data-if="c" style="display:none">approx_chain</span><span data-if="cpp" style="display:none">ApproxChain</span><span data-if="com" style="display:none">ApproxChain</span><span data-if="dotnet" style="display:none">ApproxChain</span><span data-if="python" style="display:none">approx_chain</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="get_region_chain.html"><span data-if="hdevelop" style="display:inline">get_region_chain</span><span data-if="c" style="display:none">get_region_chain</span><span data-if="cpp" style="display:none">GetRegionChain</span><span data-if="com" style="display:none">GetRegionChain</span><span data-if="dotnet" style="display:none">GetRegionChain</span><span data-if="python" style="display:none">get_region_chain</span></a></code>, 
<code><a href="smallest_circle.html"><span data-if="hdevelop" style="display:inline">smallest_circle</span><span data-if="c" style="display:none">smallest_circle</span><span data-if="cpp" style="display:none">SmallestCircle</span><span data-if="com" style="display:none">SmallestCircle</span><span data-if="dotnet" style="display:none">SmallestCircle</span><span data-if="python" style="display:none">smallest_circle</span></a></code>, 
<code><a href="disp_circle.html"><span data-if="hdevelop" style="display:inline">disp_circle</span><span data-if="c" style="display:none">disp_circle</span><span data-if="cpp" style="display:none">DispCircle</span><span data-if="com" style="display:none">DispCircle</span><span data-if="dotnet" style="display:none">DispCircle</span><span data-if="python" style="display:none">disp_circle</span></a></code>, 
<code><a href="disp_line.html"><span data-if="hdevelop" style="display:inline">disp_line</span><span data-if="c" style="display:none">disp_line</span><span data-if="cpp" style="display:none">DispLine</span><span data-if="com" style="display:none">DispLine</span><span data-if="dotnet" style="display:none">DispLine</span><span data-if="python" style="display:none">disp_line</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
Foundation</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
